<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="google-site-verification" content="yaeorbXgKPwp5BDegBtAJEHYWFEFE-BViWTj74gJPrw" />
<!--  -->
<link href="/css/default.css" type="text/css" rel="stylesheet" />
<!--  -->
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/lang/cn.js"></script>
<script type="text/javascript" src="/js/mac/core.min.js"></script>
<title>mac-flow 流程引擎</title>
<meta name="description" content="flow 流程引擎" />
<meta name="keywords" content="flow 流程引擎" />
<script type="text/javascript">
$(function(){
	function adjust(){
		var de = document.documentElement
			, ch = de.clientHeight, cw = de.clientWidth;
		$('#body').width(cw - 16);
	}
	$(window).resize(adjust);
	adjust();
});
</script>
</head>
<body>
<div id="head">
	<a href="/"><img src="/css/images/logo_s.png" alt="logo" /></a>
	<div class="title">BOARSOFT.COM</div>
	<div class="right">
		<div>
			<a href="/public/lang.php?l=en">English</a>
			|
			<a href="/public/lang.php?l=cn">简体中文</a>
			|
			<a href="http://activemq.apache.org/" target="_blank">ActiveMQ</a>
			|
			<a href="https://redis.io/" target="_blank">Redis</a>
			|
			<a href="http://www.jquery.com/" target="_blank">JQuery</a>
		</div>
	</div>
</div><div id="body">
	<div class="dir">
<h1>目录</h1>
<hr/>
<ul>
	<li><a href="/mac/flow/index.html">基本概念</a></li>
	<li><a href="/mac/flow/config.html">基本配置</a></li>
	<li><a href="/mac/flow/demo/index.html#">用法示例（含编辑器用法）</a><li>
	<ul>
		<li><a href="/mac/flow/demo/index.html#svc">创建服务</a></li>
		<li><a href="/mac/flow/demo/index.html">基本示例</a></li>
		<li><a href="/mac/flow/demo/index.html#params">属性配置</a></li>
		<li><a href="/mac/flow/demo/index.html#wrapper">包装器</a></li>
		<li><a href="/mac/flow/demo/index.html#judge">判定节点</a></li>
		<li><a href="/mac/flow/demo/index.html#subflow">流程引用</a></li>
		<li><a href="/mac/flow/demo/index.html#while">循环</a></li>
		<li><a href="/mac/flow/demo/index.html#fork">并行与异步</a></li>
		<li><a href="/mac/flow/demo/index.html#tx">事务处理</a></li>
		<li><a href="/mac/flow/demo/index.html#com">创建组件</a></li>
	</ul>
	<li><a href="/mac/flow/advance.html">进阶应用</a><li>
	<ul>
		<li><a href="/mac/flow/advance.html#persist">持久化</a></li>
		<li><a href="/mac/flow/advance.html#xml">自定义生成器</a></li>
		<li><a href="/mac/flow/advance.html#threadpool">自定义线程池</a></li>
		<li><a href="/mac/flow/advance.html#batch">开发批量</a></li>
		<li><a href="/mac/flow/advance.html#mapping">自定义参数映射</a></li>
		<li><a href="/mac/flow/advance.html#trace">调用链跟踪</a></li>
	</ul>
	<li><a href="/mac/flow/qa.html">Question and Answer</a></li>
</ul>	</div>
	<div class="main">
		<div id="nav">
			<div id="nav_path">
				<a href="/">Home</a>
				&gt;
				mac-flow
			</div>
			<div id="nav_back">
				<a href="javascript:history.back()">后退</a>
				|
				<a href="/">上一级</a> &nbsp;&nbsp;
			</div>
			<div class="clear"></div>
		</div>
<h1>mac-flow 流程引擎</h1>
<h2>基本概念</h2>
&nbsp;&nbsp;mac-flow是用Java开发的一款小巧精悍的流程引擎。具有以下优点：
<ol>
	<li>完全符合自然的编程思路，且无专门的标签需要学习，易于掌握。</li>
	<li>设计简洁，性能零损耗。</li>
	<li>扩展性强，支持二次开发。</li>
	<li>服务包装器设计，支持服务前后处理。</li>
	<li>支持流程嵌套（包括事务的嵌套等）。</li>
	<li>支持显式事务的开启、提交与自动回滚，可嵌套。</li>
	<li>支持MVEL表达式或自定义实现的条件判断分支。</li>
	<li>支持流程的挂起（暂停）与续跑，可嵌套。</li>
	<li>支持switch…case多路分支，可嵌套。</li>
	<li>支持多个try…catch…finally…yrt，可嵌套。</li>
	<li>支持循环，甚至递归！可嵌套。</li>
	<li>支持异步并行处理（并行计算），可嵌套。</li>
	<li>支持事件驱动与通知消息（挂起与续跑），可嵌套。</li>
	<li>内置冲正（反交易）支持。</li>
	<li>支持调用链跟踪。</li>
	<li>配套优秀的流程设计器。</li>
	<li>可生成流程定义或代码，可二次开发。</li>
</ol>
<h2>流程设计器</h2>
<a href="/mac/flow/editor" target="_blank">简化版在线演示</a>
&nbsp;&nbsp;
<a href="/download.html">简化版下载地址</a>
<br />
注：流程编辑器是基于Java开发的，但在线演示版则是基于PHP的模拟版本。
<p><img alt="overvew" src="/mac/flow/img/overview.png" /></p>
	</div>
</div>
<div id="foot">
Copyright © 2011. All rights reserved&nbsp;&nbsp;蜀ICP备11014774号-1&nbsp;&nbsp;
QQ: 7213571&nbsp;&nbsp;E-mail: pyh_jerry@163.com&nbsp;&nbsp;
<!-- 
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Ffc0b0282216be3d16055855d8c0e72d9' type='text/javascript'%3E%3C/script%3E"));
</script>
&nbsp;&nbsp;
 -->
</div></body>
</html>
